<?php


/*
* Copyright (c) 2008-2016 vip.com, All Rights Reserved.
*
* Powered by com.vip.osp.osp-idlc-2.5.11.
*
*/

namespace com\vip\xstore\wop\inner\wm\service;

class PoModel {
	
	static $_TSPEC;
	public $wopPoId = null;
	public $systemPoNo = null;
	public $clientPoNo = null;
	public $type = null;
	public $status = null;
	public $vendorCode = null;
	public $buyer = null;
	public $saleArea = null;
	public $zipCode = null;
	public $receiver = null;
	public $receiverTel = null;
	public $receiverMobie = null;
	public $receiverCountry = null;
	public $receiverStateName = null;
	public $receiverStateCode = null;
	public $receiverCityName = null;
	public $receiverCityCode = null;
	public $receiverDistrictName = null;
	public $receiverDistrictCode = null;
	public $receiverDetailAddress = null;
	public $warehouseCode = null;
	public $warehouseName = null;
	public $channel = null;
	public $returnContacter = null;
	public $returnContacterTel = null;
	public $returnContacterMobile = null;
	public $returnCountry = null;
	public $returnStateName = null;
	public $returnStateCode = null;
	public $returnCityName = null;
	public $returnCityCode = null;
	public $returnDistrictName = null;
	public $returnDistrictCode = null;
	public $returnDetailAddress = null;
	public $email = null;
	public $isNeedFaceCount = null;
	public $totalWeight = null;
	public $totalVolume = null;
	public $weight = null;
	public $volume = null;
	public $reservationBegindt = null;
	public $reservationEnddt = null;
	public $reservationNo = null;
	public $reservationUser = null;
	public $isReservated = null;
	public $packingStatus = null;
	public $totalQty = null;
	public $totalTagPrice = null;
	public $totalPackingQty = null;
	public $authUser = null;
	public $authTime = null;
	public $authContactor = null;
	public $startOnRacksTime = null;
	public $flowRemark = null;
	public $poSource = null;
	public $remark = null;
	public $recordVersion = null;
	public $createdByUser = null;
	public $createdDtmLoc = null;
	public $createdOffice = null;
	public $createdTimeZone = null;
	public $updatedByUser = null;
	public $updatedOffice = null;
	public $updatedDtmLoc = null;
	public $updatedTimeZone = null;
	public $isDelete = null;
	public $iqcQtyCount = null;
	public $shelvesQtyCount = null;
	public $warehousingTime = null;
	public $boxFlag = null;
	public $isBatchStorage = null;
	public $operTime = null;
	public $storageStatus = null;
	public $isWhaleWarehouse = null;
	public $firstIqcTime = null;
	public $receiptClosedTime = null;
	public $deliveryTime = null;
	public $expectArriveTime = null;
	public $deliveryContacter = null;
	public $deliveryContacterTel = null;
	public $deliveryContacterMobile = null;
	public $deliveryStoreCode = null;
	public $deliveryStoreName = null;
	public $deliveryCountry = null;
	public $deliveryStateName = null;
	public $deliveryStateCode = null;
	public $deliveryCityName = null;
	public $deliveryCityCode = null;
	public $deliveryDistrictName = null;
	public $deliveryDistrictCode = null;
	public $deliveryDetailAddress = null;
	public $goodsType = null;
	public $distributableGoodsTime = null;
	public $inventorySwitch = null;
	public $rfidTemplateCode = null;
	public $cooperateMode = null;
	public $isCrossdock = null;
	public $takeDeliveryDate = null;
	public $takeDeliveryNoticeStatus = null;
	public $takeDeliveryNoticeTime = null;
	public $isReturn = null;
	public $returnNoticeStatus = null;
	public $returnNoticeTime = null;
	public $qcNoticeStatus = null;
	public $qcNoticeTime = null;
	public $transactionSource = null;
	
	public function __construct($vals=null){
		
		if (!isset(self::$_TSPEC)){
			
			self::$_TSPEC = array(
			1 => array(
			'var' => 'wopPoId'
			),
			2 => array(
			'var' => 'systemPoNo'
			),
			3 => array(
			'var' => 'clientPoNo'
			),
			4 => array(
			'var' => 'type'
			),
			5 => array(
			'var' => 'status'
			),
			6 => array(
			'var' => 'vendorCode'
			),
			7 => array(
			'var' => 'buyer'
			),
			8 => array(
			'var' => 'saleArea'
			),
			9 => array(
			'var' => 'zipCode'
			),
			10 => array(
			'var' => 'receiver'
			),
			11 => array(
			'var' => 'receiverTel'
			),
			12 => array(
			'var' => 'receiverMobie'
			),
			13 => array(
			'var' => 'receiverCountry'
			),
			14 => array(
			'var' => 'receiverStateName'
			),
			15 => array(
			'var' => 'receiverStateCode'
			),
			16 => array(
			'var' => 'receiverCityName'
			),
			17 => array(
			'var' => 'receiverCityCode'
			),
			18 => array(
			'var' => 'receiverDistrictName'
			),
			19 => array(
			'var' => 'receiverDistrictCode'
			),
			20 => array(
			'var' => 'receiverDetailAddress'
			),
			21 => array(
			'var' => 'warehouseCode'
			),
			22 => array(
			'var' => 'warehouseName'
			),
			23 => array(
			'var' => 'channel'
			),
			24 => array(
			'var' => 'returnContacter'
			),
			25 => array(
			'var' => 'returnContacterTel'
			),
			26 => array(
			'var' => 'returnContacterMobile'
			),
			27 => array(
			'var' => 'returnCountry'
			),
			28 => array(
			'var' => 'returnStateName'
			),
			29 => array(
			'var' => 'returnStateCode'
			),
			30 => array(
			'var' => 'returnCityName'
			),
			31 => array(
			'var' => 'returnCityCode'
			),
			32 => array(
			'var' => 'returnDistrictName'
			),
			33 => array(
			'var' => 'returnDistrictCode'
			),
			34 => array(
			'var' => 'returnDetailAddress'
			),
			35 => array(
			'var' => 'email'
			),
			36 => array(
			'var' => 'isNeedFaceCount'
			),
			37 => array(
			'var' => 'totalWeight'
			),
			38 => array(
			'var' => 'totalVolume'
			),
			39 => array(
			'var' => 'weight'
			),
			40 => array(
			'var' => 'volume'
			),
			41 => array(
			'var' => 'reservationBegindt'
			),
			42 => array(
			'var' => 'reservationEnddt'
			),
			43 => array(
			'var' => 'reservationNo'
			),
			44 => array(
			'var' => 'reservationUser'
			),
			45 => array(
			'var' => 'isReservated'
			),
			46 => array(
			'var' => 'packingStatus'
			),
			47 => array(
			'var' => 'totalQty'
			),
			48 => array(
			'var' => 'totalTagPrice'
			),
			49 => array(
			'var' => 'totalPackingQty'
			),
			50 => array(
			'var' => 'authUser'
			),
			51 => array(
			'var' => 'authTime'
			),
			52 => array(
			'var' => 'authContactor'
			),
			53 => array(
			'var' => 'startOnRacksTime'
			),
			54 => array(
			'var' => 'flowRemark'
			),
			55 => array(
			'var' => 'poSource'
			),
			56 => array(
			'var' => 'remark'
			),
			57 => array(
			'var' => 'recordVersion'
			),
			58 => array(
			'var' => 'createdByUser'
			),
			59 => array(
			'var' => 'createdDtmLoc'
			),
			60 => array(
			'var' => 'createdOffice'
			),
			61 => array(
			'var' => 'createdTimeZone'
			),
			62 => array(
			'var' => 'updatedByUser'
			),
			63 => array(
			'var' => 'updatedOffice'
			),
			64 => array(
			'var' => 'updatedDtmLoc'
			),
			65 => array(
			'var' => 'updatedTimeZone'
			),
			66 => array(
			'var' => 'isDelete'
			),
			67 => array(
			'var' => 'iqcQtyCount'
			),
			68 => array(
			'var' => 'shelvesQtyCount'
			),
			69 => array(
			'var' => 'warehousingTime'
			),
			70 => array(
			'var' => 'boxFlag'
			),
			71 => array(
			'var' => 'isBatchStorage'
			),
			72 => array(
			'var' => 'operTime'
			),
			73 => array(
			'var' => 'storageStatus'
			),
			74 => array(
			'var' => 'isWhaleWarehouse'
			),
			75 => array(
			'var' => 'firstIqcTime'
			),
			76 => array(
			'var' => 'receiptClosedTime'
			),
			77 => array(
			'var' => 'deliveryTime'
			),
			78 => array(
			'var' => 'expectArriveTime'
			),
			79 => array(
			'var' => 'deliveryContacter'
			),
			80 => array(
			'var' => 'deliveryContacterTel'
			),
			81 => array(
			'var' => 'deliveryContacterMobile'
			),
			82 => array(
			'var' => 'deliveryStoreCode'
			),
			83 => array(
			'var' => 'deliveryStoreName'
			),
			84 => array(
			'var' => 'deliveryCountry'
			),
			85 => array(
			'var' => 'deliveryStateName'
			),
			86 => array(
			'var' => 'deliveryStateCode'
			),
			87 => array(
			'var' => 'deliveryCityName'
			),
			88 => array(
			'var' => 'deliveryCityCode'
			),
			89 => array(
			'var' => 'deliveryDistrictName'
			),
			90 => array(
			'var' => 'deliveryDistrictCode'
			),
			91 => array(
			'var' => 'deliveryDetailAddress'
			),
			92 => array(
			'var' => 'goodsType'
			),
			93 => array(
			'var' => 'distributableGoodsTime'
			),
			94 => array(
			'var' => 'inventorySwitch'
			),
			95 => array(
			'var' => 'rfidTemplateCode'
			),
			96 => array(
			'var' => 'cooperateMode'
			),
			97 => array(
			'var' => 'isCrossdock'
			),
			98 => array(
			'var' => 'takeDeliveryDate'
			),
			99 => array(
			'var' => 'takeDeliveryNoticeStatus'
			),
			100 => array(
			'var' => 'takeDeliveryNoticeTime'
			),
			101 => array(
			'var' => 'isReturn'
			),
			102 => array(
			'var' => 'returnNoticeStatus'
			),
			103 => array(
			'var' => 'returnNoticeTime'
			),
			104 => array(
			'var' => 'qcNoticeStatus'
			),
			105 => array(
			'var' => 'qcNoticeTime'
			),
			106 => array(
			'var' => 'transactionSource'
			),
			
			);
			
		}
		
		if (is_array($vals)){
			
			
			if (isset($vals['wopPoId'])){
				
				$this->wopPoId = $vals['wopPoId'];
			}
			
			
			if (isset($vals['systemPoNo'])){
				
				$this->systemPoNo = $vals['systemPoNo'];
			}
			
			
			if (isset($vals['clientPoNo'])){
				
				$this->clientPoNo = $vals['clientPoNo'];
			}
			
			
			if (isset($vals['type'])){
				
				$this->type = $vals['type'];
			}
			
			
			if (isset($vals['status'])){
				
				$this->status = $vals['status'];
			}
			
			
			if (isset($vals['vendorCode'])){
				
				$this->vendorCode = $vals['vendorCode'];
			}
			
			
			if (isset($vals['buyer'])){
				
				$this->buyer = $vals['buyer'];
			}
			
			
			if (isset($vals['saleArea'])){
				
				$this->saleArea = $vals['saleArea'];
			}
			
			
			if (isset($vals['zipCode'])){
				
				$this->zipCode = $vals['zipCode'];
			}
			
			
			if (isset($vals['receiver'])){
				
				$this->receiver = $vals['receiver'];
			}
			
			
			if (isset($vals['receiverTel'])){
				
				$this->receiverTel = $vals['receiverTel'];
			}
			
			
			if (isset($vals['receiverMobie'])){
				
				$this->receiverMobie = $vals['receiverMobie'];
			}
			
			
			if (isset($vals['receiverCountry'])){
				
				$this->receiverCountry = $vals['receiverCountry'];
			}
			
			
			if (isset($vals['receiverStateName'])){
				
				$this->receiverStateName = $vals['receiverStateName'];
			}
			
			
			if (isset($vals['receiverStateCode'])){
				
				$this->receiverStateCode = $vals['receiverStateCode'];
			}
			
			
			if (isset($vals['receiverCityName'])){
				
				$this->receiverCityName = $vals['receiverCityName'];
			}
			
			
			if (isset($vals['receiverCityCode'])){
				
				$this->receiverCityCode = $vals['receiverCityCode'];
			}
			
			
			if (isset($vals['receiverDistrictName'])){
				
				$this->receiverDistrictName = $vals['receiverDistrictName'];
			}
			
			
			if (isset($vals['receiverDistrictCode'])){
				
				$this->receiverDistrictCode = $vals['receiverDistrictCode'];
			}
			
			
			if (isset($vals['receiverDetailAddress'])){
				
				$this->receiverDetailAddress = $vals['receiverDetailAddress'];
			}
			
			
			if (isset($vals['warehouseCode'])){
				
				$this->warehouseCode = $vals['warehouseCode'];
			}
			
			
			if (isset($vals['warehouseName'])){
				
				$this->warehouseName = $vals['warehouseName'];
			}
			
			
			if (isset($vals['channel'])){
				
				$this->channel = $vals['channel'];
			}
			
			
			if (isset($vals['returnContacter'])){
				
				$this->returnContacter = $vals['returnContacter'];
			}
			
			
			if (isset($vals['returnContacterTel'])){
				
				$this->returnContacterTel = $vals['returnContacterTel'];
			}
			
			
			if (isset($vals['returnContacterMobile'])){
				
				$this->returnContacterMobile = $vals['returnContacterMobile'];
			}
			
			
			if (isset($vals['returnCountry'])){
				
				$this->returnCountry = $vals['returnCountry'];
			}
			
			
			if (isset($vals['returnStateName'])){
				
				$this->returnStateName = $vals['returnStateName'];
			}
			
			
			if (isset($vals['returnStateCode'])){
				
				$this->returnStateCode = $vals['returnStateCode'];
			}
			
			
			if (isset($vals['returnCityName'])){
				
				$this->returnCityName = $vals['returnCityName'];
			}
			
			
			if (isset($vals['returnCityCode'])){
				
				$this->returnCityCode = $vals['returnCityCode'];
			}
			
			
			if (isset($vals['returnDistrictName'])){
				
				$this->returnDistrictName = $vals['returnDistrictName'];
			}
			
			
			if (isset($vals['returnDistrictCode'])){
				
				$this->returnDistrictCode = $vals['returnDistrictCode'];
			}
			
			
			if (isset($vals['returnDetailAddress'])){
				
				$this->returnDetailAddress = $vals['returnDetailAddress'];
			}
			
			
			if (isset($vals['email'])){
				
				$this->email = $vals['email'];
			}
			
			
			if (isset($vals['isNeedFaceCount'])){
				
				$this->isNeedFaceCount = $vals['isNeedFaceCount'];
			}
			
			
			if (isset($vals['totalWeight'])){
				
				$this->totalWeight = $vals['totalWeight'];
			}
			
			
			if (isset($vals['totalVolume'])){
				
				$this->totalVolume = $vals['totalVolume'];
			}
			
			
			if (isset($vals['weight'])){
				
				$this->weight = $vals['weight'];
			}
			
			
			if (isset($vals['volume'])){
				
				$this->volume = $vals['volume'];
			}
			
			
			if (isset($vals['reservationBegindt'])){
				
				$this->reservationBegindt = $vals['reservationBegindt'];
			}
			
			
			if (isset($vals['reservationEnddt'])){
				
				$this->reservationEnddt = $vals['reservationEnddt'];
			}
			
			
			if (isset($vals['reservationNo'])){
				
				$this->reservationNo = $vals['reservationNo'];
			}
			
			
			if (isset($vals['reservationUser'])){
				
				$this->reservationUser = $vals['reservationUser'];
			}
			
			
			if (isset($vals['isReservated'])){
				
				$this->isReservated = $vals['isReservated'];
			}
			
			
			if (isset($vals['packingStatus'])){
				
				$this->packingStatus = $vals['packingStatus'];
			}
			
			
			if (isset($vals['totalQty'])){
				
				$this->totalQty = $vals['totalQty'];
			}
			
			
			if (isset($vals['totalTagPrice'])){
				
				$this->totalTagPrice = $vals['totalTagPrice'];
			}
			
			
			if (isset($vals['totalPackingQty'])){
				
				$this->totalPackingQty = $vals['totalPackingQty'];
			}
			
			
			if (isset($vals['authUser'])){
				
				$this->authUser = $vals['authUser'];
			}
			
			
			if (isset($vals['authTime'])){
				
				$this->authTime = $vals['authTime'];
			}
			
			
			if (isset($vals['authContactor'])){
				
				$this->authContactor = $vals['authContactor'];
			}
			
			
			if (isset($vals['startOnRacksTime'])){
				
				$this->startOnRacksTime = $vals['startOnRacksTime'];
			}
			
			
			if (isset($vals['flowRemark'])){
				
				$this->flowRemark = $vals['flowRemark'];
			}
			
			
			if (isset($vals['poSource'])){
				
				$this->poSource = $vals['poSource'];
			}
			
			
			if (isset($vals['remark'])){
				
				$this->remark = $vals['remark'];
			}
			
			
			if (isset($vals['recordVersion'])){
				
				$this->recordVersion = $vals['recordVersion'];
			}
			
			
			if (isset($vals['createdByUser'])){
				
				$this->createdByUser = $vals['createdByUser'];
			}
			
			
			if (isset($vals['createdDtmLoc'])){
				
				$this->createdDtmLoc = $vals['createdDtmLoc'];
			}
			
			
			if (isset($vals['createdOffice'])){
				
				$this->createdOffice = $vals['createdOffice'];
			}
			
			
			if (isset($vals['createdTimeZone'])){
				
				$this->createdTimeZone = $vals['createdTimeZone'];
			}
			
			
			if (isset($vals['updatedByUser'])){
				
				$this->updatedByUser = $vals['updatedByUser'];
			}
			
			
			if (isset($vals['updatedOffice'])){
				
				$this->updatedOffice = $vals['updatedOffice'];
			}
			
			
			if (isset($vals['updatedDtmLoc'])){
				
				$this->updatedDtmLoc = $vals['updatedDtmLoc'];
			}
			
			
			if (isset($vals['updatedTimeZone'])){
				
				$this->updatedTimeZone = $vals['updatedTimeZone'];
			}
			
			
			if (isset($vals['isDelete'])){
				
				$this->isDelete = $vals['isDelete'];
			}
			
			
			if (isset($vals['iqcQtyCount'])){
				
				$this->iqcQtyCount = $vals['iqcQtyCount'];
			}
			
			
			if (isset($vals['shelvesQtyCount'])){
				
				$this->shelvesQtyCount = $vals['shelvesQtyCount'];
			}
			
			
			if (isset($vals['warehousingTime'])){
				
				$this->warehousingTime = $vals['warehousingTime'];
			}
			
			
			if (isset($vals['boxFlag'])){
				
				$this->boxFlag = $vals['boxFlag'];
			}
			
			
			if (isset($vals['isBatchStorage'])){
				
				$this->isBatchStorage = $vals['isBatchStorage'];
			}
			
			
			if (isset($vals['operTime'])){
				
				$this->operTime = $vals['operTime'];
			}
			
			
			if (isset($vals['storageStatus'])){
				
				$this->storageStatus = $vals['storageStatus'];
			}
			
			
			if (isset($vals['isWhaleWarehouse'])){
				
				$this->isWhaleWarehouse = $vals['isWhaleWarehouse'];
			}
			
			
			if (isset($vals['firstIqcTime'])){
				
				$this->firstIqcTime = $vals['firstIqcTime'];
			}
			
			
			if (isset($vals['receiptClosedTime'])){
				
				$this->receiptClosedTime = $vals['receiptClosedTime'];
			}
			
			
			if (isset($vals['deliveryTime'])){
				
				$this->deliveryTime = $vals['deliveryTime'];
			}
			
			
			if (isset($vals['expectArriveTime'])){
				
				$this->expectArriveTime = $vals['expectArriveTime'];
			}
			
			
			if (isset($vals['deliveryContacter'])){
				
				$this->deliveryContacter = $vals['deliveryContacter'];
			}
			
			
			if (isset($vals['deliveryContacterTel'])){
				
				$this->deliveryContacterTel = $vals['deliveryContacterTel'];
			}
			
			
			if (isset($vals['deliveryContacterMobile'])){
				
				$this->deliveryContacterMobile = $vals['deliveryContacterMobile'];
			}
			
			
			if (isset($vals['deliveryStoreCode'])){
				
				$this->deliveryStoreCode = $vals['deliveryStoreCode'];
			}
			
			
			if (isset($vals['deliveryStoreName'])){
				
				$this->deliveryStoreName = $vals['deliveryStoreName'];
			}
			
			
			if (isset($vals['deliveryCountry'])){
				
				$this->deliveryCountry = $vals['deliveryCountry'];
			}
			
			
			if (isset($vals['deliveryStateName'])){
				
				$this->deliveryStateName = $vals['deliveryStateName'];
			}
			
			
			if (isset($vals['deliveryStateCode'])){
				
				$this->deliveryStateCode = $vals['deliveryStateCode'];
			}
			
			
			if (isset($vals['deliveryCityName'])){
				
				$this->deliveryCityName = $vals['deliveryCityName'];
			}
			
			
			if (isset($vals['deliveryCityCode'])){
				
				$this->deliveryCityCode = $vals['deliveryCityCode'];
			}
			
			
			if (isset($vals['deliveryDistrictName'])){
				
				$this->deliveryDistrictName = $vals['deliveryDistrictName'];
			}
			
			
			if (isset($vals['deliveryDistrictCode'])){
				
				$this->deliveryDistrictCode = $vals['deliveryDistrictCode'];
			}
			
			
			if (isset($vals['deliveryDetailAddress'])){
				
				$this->deliveryDetailAddress = $vals['deliveryDetailAddress'];
			}
			
			
			if (isset($vals['goodsType'])){
				
				$this->goodsType = $vals['goodsType'];
			}
			
			
			if (isset($vals['distributableGoodsTime'])){
				
				$this->distributableGoodsTime = $vals['distributableGoodsTime'];
			}
			
			
			if (isset($vals['inventorySwitch'])){
				
				$this->inventorySwitch = $vals['inventorySwitch'];
			}
			
			
			if (isset($vals['rfidTemplateCode'])){
				
				$this->rfidTemplateCode = $vals['rfidTemplateCode'];
			}
			
			
			if (isset($vals['cooperateMode'])){
				
				$this->cooperateMode = $vals['cooperateMode'];
			}
			
			
			if (isset($vals['isCrossdock'])){
				
				$this->isCrossdock = $vals['isCrossdock'];
			}
			
			
			if (isset($vals['takeDeliveryDate'])){
				
				$this->takeDeliveryDate = $vals['takeDeliveryDate'];
			}
			
			
			if (isset($vals['takeDeliveryNoticeStatus'])){
				
				$this->takeDeliveryNoticeStatus = $vals['takeDeliveryNoticeStatus'];
			}
			
			
			if (isset($vals['takeDeliveryNoticeTime'])){
				
				$this->takeDeliveryNoticeTime = $vals['takeDeliveryNoticeTime'];
			}
			
			
			if (isset($vals['isReturn'])){
				
				$this->isReturn = $vals['isReturn'];
			}
			
			
			if (isset($vals['returnNoticeStatus'])){
				
				$this->returnNoticeStatus = $vals['returnNoticeStatus'];
			}
			
			
			if (isset($vals['returnNoticeTime'])){
				
				$this->returnNoticeTime = $vals['returnNoticeTime'];
			}
			
			
			if (isset($vals['qcNoticeStatus'])){
				
				$this->qcNoticeStatus = $vals['qcNoticeStatus'];
			}
			
			
			if (isset($vals['qcNoticeTime'])){
				
				$this->qcNoticeTime = $vals['qcNoticeTime'];
			}
			
			
			if (isset($vals['transactionSource'])){
				
				$this->transactionSource = $vals['transactionSource'];
			}
			
			
		}
		
	}
	
	
	public function getName(){
		
		return 'PoModel';
	}
	
	public function read($input){
		
		$input->readStructBegin();
		while(true){
			
			$schemeField = $input->readFieldBegin();
			if ($schemeField == null) break;
			$needSkip = true;
			
			
			if ("wopPoId" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->wopPoId); 
				
			}
			
			
			
			
			if ("systemPoNo" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->systemPoNo);
				
			}
			
			
			
			
			if ("clientPoNo" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->clientPoNo);
				
			}
			
			
			
			
			if ("type" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->type);
				
			}
			
			
			
			
			if ("status" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->status); 
				
			}
			
			
			
			
			if ("vendorCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->vendorCode);
				
			}
			
			
			
			
			if ("buyer" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->buyer);
				
			}
			
			
			
			
			if ("saleArea" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->saleArea);
				
			}
			
			
			
			
			if ("zipCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->zipCode);
				
			}
			
			
			
			
			if ("receiver" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiver);
				
			}
			
			
			
			
			if ("receiverTel" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverTel);
				
			}
			
			
			
			
			if ("receiverMobie" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverMobie);
				
			}
			
			
			
			
			if ("receiverCountry" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverCountry);
				
			}
			
			
			
			
			if ("receiverStateName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverStateName);
				
			}
			
			
			
			
			if ("receiverStateCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverStateCode);
				
			}
			
			
			
			
			if ("receiverCityName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverCityName);
				
			}
			
			
			
			
			if ("receiverCityCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverCityCode);
				
			}
			
			
			
			
			if ("receiverDistrictName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverDistrictName);
				
			}
			
			
			
			
			if ("receiverDistrictCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverDistrictCode);
				
			}
			
			
			
			
			if ("receiverDetailAddress" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->receiverDetailAddress);
				
			}
			
			
			
			
			if ("warehouseCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->warehouseCode);
				
			}
			
			
			
			
			if ("warehouseName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->warehouseName);
				
			}
			
			
			
			
			if ("channel" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->channel); 
				
			}
			
			
			
			
			if ("returnContacter" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnContacter);
				
			}
			
			
			
			
			if ("returnContacterTel" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnContacterTel);
				
			}
			
			
			
			
			if ("returnContacterMobile" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnContacterMobile);
				
			}
			
			
			
			
			if ("returnCountry" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnCountry);
				
			}
			
			
			
			
			if ("returnStateName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnStateName);
				
			}
			
			
			
			
			if ("returnStateCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnStateCode);
				
			}
			
			
			
			
			if ("returnCityName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnCityName);
				
			}
			
			
			
			
			if ("returnCityCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnCityCode);
				
			}
			
			
			
			
			if ("returnDistrictName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnDistrictName);
				
			}
			
			
			
			
			if ("returnDistrictCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnDistrictCode);
				
			}
			
			
			
			
			if ("returnDetailAddress" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->returnDetailAddress);
				
			}
			
			
			
			
			if ("email" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->email);
				
			}
			
			
			
			
			if ("isNeedFaceCount" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isNeedFaceCount); 
				
			}
			
			
			
			
			if ("totalWeight" == $schemeField){
				
				$needSkip = false;
				$input->readDouble($this->totalWeight);
				
			}
			
			
			
			
			if ("totalVolume" == $schemeField){
				
				$needSkip = false;
				$input->readDouble($this->totalVolume);
				
			}
			
			
			
			
			if ("weight" == $schemeField){
				
				$needSkip = false;
				$input->readDouble($this->weight);
				
			}
			
			
			
			
			if ("volume" == $schemeField){
				
				$needSkip = false;
				$input->readDouble($this->volume);
				
			}
			
			
			
			
			if ("reservationBegindt" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->reservationBegindt); 
				
			}
			
			
			
			
			if ("reservationEnddt" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->reservationEnddt); 
				
			}
			
			
			
			
			if ("reservationNo" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->reservationNo);
				
			}
			
			
			
			
			if ("reservationUser" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->reservationUser);
				
			}
			
			
			
			
			if ("isReservated" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isReservated); 
				
			}
			
			
			
			
			if ("packingStatus" == $schemeField){
				
				$needSkip = false;
				$input->readI16($this->packingStatus); 
				
			}
			
			
			
			
			if ("totalQty" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->totalQty); 
				
			}
			
			
			
			
			if ("totalTagPrice" == $schemeField){
				
				$needSkip = false;
				$input->readDouble($this->totalTagPrice);
				
			}
			
			
			
			
			if ("totalPackingQty" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->totalPackingQty); 
				
			}
			
			
			
			
			if ("authUser" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->authUser);
				
			}
			
			
			
			
			if ("authTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->authTime); 
				
			}
			
			
			
			
			if ("authContactor" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->authContactor);
				
			}
			
			
			
			
			if ("startOnRacksTime" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->startOnRacksTime);
				
			}
			
			
			
			
			if ("flowRemark" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->flowRemark);
				
			}
			
			
			
			
			if ("poSource" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->poSource); 
				
			}
			
			
			
			
			if ("remark" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->remark);
				
			}
			
			
			
			
			if ("recordVersion" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->recordVersion); 
				
			}
			
			
			
			
			if ("createdByUser" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->createdByUser);
				
			}
			
			
			
			
			if ("createdDtmLoc" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->createdDtmLoc); 
				
			}
			
			
			
			
			if ("createdOffice" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->createdOffice);
				
			}
			
			
			
			
			if ("createdTimeZone" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->createdTimeZone);
				
			}
			
			
			
			
			if ("updatedByUser" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->updatedByUser);
				
			}
			
			
			
			
			if ("updatedOffice" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->updatedOffice);
				
			}
			
			
			
			
			if ("updatedDtmLoc" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->updatedDtmLoc); 
				
			}
			
			
			
			
			if ("updatedTimeZone" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->updatedTimeZone);
				
			}
			
			
			
			
			if ("isDelete" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isDelete); 
				
			}
			
			
			
			
			if ("iqcQtyCount" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->iqcQtyCount); 
				
			}
			
			
			
			
			if ("shelvesQtyCount" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->shelvesQtyCount); 
				
			}
			
			
			
			
			if ("warehousingTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->warehousingTime); 
				
			}
			
			
			
			
			if ("boxFlag" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->boxFlag); 
				
			}
			
			
			
			
			if ("isBatchStorage" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isBatchStorage); 
				
			}
			
			
			
			
			if ("operTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->operTime); 
				
			}
			
			
			
			
			if ("storageStatus" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->storageStatus); 
				
			}
			
			
			
			
			if ("isWhaleWarehouse" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isWhaleWarehouse); 
				
			}
			
			
			
			
			if ("firstIqcTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->firstIqcTime); 
				
			}
			
			
			
			
			if ("receiptClosedTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->receiptClosedTime); 
				
			}
			
			
			
			
			if ("deliveryTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->deliveryTime); 
				
			}
			
			
			
			
			if ("expectArriveTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->expectArriveTime); 
				
			}
			
			
			
			
			if ("deliveryContacter" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryContacter);
				
			}
			
			
			
			
			if ("deliveryContacterTel" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryContacterTel);
				
			}
			
			
			
			
			if ("deliveryContacterMobile" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryContacterMobile);
				
			}
			
			
			
			
			if ("deliveryStoreCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryStoreCode);
				
			}
			
			
			
			
			if ("deliveryStoreName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryStoreName);
				
			}
			
			
			
			
			if ("deliveryCountry" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryCountry);
				
			}
			
			
			
			
			if ("deliveryStateName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryStateName);
				
			}
			
			
			
			
			if ("deliveryStateCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryStateCode);
				
			}
			
			
			
			
			if ("deliveryCityName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryCityName);
				
			}
			
			
			
			
			if ("deliveryCityCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryCityCode);
				
			}
			
			
			
			
			if ("deliveryDistrictName" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryDistrictName);
				
			}
			
			
			
			
			if ("deliveryDistrictCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryDistrictCode);
				
			}
			
			
			
			
			if ("deliveryDetailAddress" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->deliveryDetailAddress);
				
			}
			
			
			
			
			if ("goodsType" == $schemeField){
				
				$needSkip = false;
				$input->readI32($this->goodsType); 
				
			}
			
			
			
			
			if ("distributableGoodsTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->distributableGoodsTime);
				
			}
			
			
			
			
			if ("inventorySwitch" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->inventorySwitch);
				
			}
			
			
			
			
			if ("rfidTemplateCode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->rfidTemplateCode);
				
			}
			
			
			
			
			if ("cooperateMode" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->cooperateMode);
				
			}
			
			
			
			
			if ("isCrossdock" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->isCrossdock);
				
			}
			
			
			
			
			if ("takeDeliveryDate" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->takeDeliveryDate); 
				
			}
			
			
			
			
			if ("takeDeliveryNoticeStatus" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->takeDeliveryNoticeStatus); 
				
			}
			
			
			
			
			if ("takeDeliveryNoticeTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->takeDeliveryNoticeTime); 
				
			}
			
			
			
			
			if ("isReturn" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->isReturn); 
				
			}
			
			
			
			
			if ("returnNoticeStatus" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->returnNoticeStatus); 
				
			}
			
			
			
			
			if ("returnNoticeTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->returnNoticeTime); 
				
			}
			
			
			
			
			if ("qcNoticeStatus" == $schemeField){
				
				$needSkip = false;
				$input->readByte($this->qcNoticeStatus); 
				
			}
			
			
			
			
			if ("qcNoticeTime" == $schemeField){
				
				$needSkip = false;
				$input->readI64($this->qcNoticeTime); 
				
			}
			
			
			
			
			if ("transactionSource" == $schemeField){
				
				$needSkip = false;
				$input->readString($this->transactionSource);
				
			}
			
			
			
			if($needSkip){
				
				\Osp\Protocol\ProtocolUtil::skip($input);
			}
			
			$input->readFieldEnd();
		}
		
		$input->readStructEnd();
		
		
		
	}
	
	public function write($output){
		
		$xfer = 0;
		$xfer += $output->writeStructBegin();
		
		if($this->wopPoId !== null) {
			
			$xfer += $output->writeFieldBegin('wopPoId');
			$xfer += $output->writeI64($this->wopPoId);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->systemPoNo !== null) {
			
			$xfer += $output->writeFieldBegin('systemPoNo');
			$xfer += $output->writeString($this->systemPoNo);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->clientPoNo !== null) {
			
			$xfer += $output->writeFieldBegin('clientPoNo');
			$xfer += $output->writeString($this->clientPoNo);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->type !== null) {
			
			$xfer += $output->writeFieldBegin('type');
			$xfer += $output->writeString($this->type);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->status !== null) {
			
			$xfer += $output->writeFieldBegin('status');
			$xfer += $output->writeByte($this->status);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->vendorCode !== null) {
			
			$xfer += $output->writeFieldBegin('vendorCode');
			$xfer += $output->writeString($this->vendorCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->buyer !== null) {
			
			$xfer += $output->writeFieldBegin('buyer');
			$xfer += $output->writeString($this->buyer);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->saleArea !== null) {
			
			$xfer += $output->writeFieldBegin('saleArea');
			$xfer += $output->writeString($this->saleArea);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->zipCode !== null) {
			
			$xfer += $output->writeFieldBegin('zipCode');
			$xfer += $output->writeString($this->zipCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiver !== null) {
			
			$xfer += $output->writeFieldBegin('receiver');
			$xfer += $output->writeString($this->receiver);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverTel !== null) {
			
			$xfer += $output->writeFieldBegin('receiverTel');
			$xfer += $output->writeString($this->receiverTel);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverMobie !== null) {
			
			$xfer += $output->writeFieldBegin('receiverMobie');
			$xfer += $output->writeString($this->receiverMobie);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverCountry !== null) {
			
			$xfer += $output->writeFieldBegin('receiverCountry');
			$xfer += $output->writeString($this->receiverCountry);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverStateName !== null) {
			
			$xfer += $output->writeFieldBegin('receiverStateName');
			$xfer += $output->writeString($this->receiverStateName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverStateCode !== null) {
			
			$xfer += $output->writeFieldBegin('receiverStateCode');
			$xfer += $output->writeString($this->receiverStateCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverCityName !== null) {
			
			$xfer += $output->writeFieldBegin('receiverCityName');
			$xfer += $output->writeString($this->receiverCityName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverCityCode !== null) {
			
			$xfer += $output->writeFieldBegin('receiverCityCode');
			$xfer += $output->writeString($this->receiverCityCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverDistrictName !== null) {
			
			$xfer += $output->writeFieldBegin('receiverDistrictName');
			$xfer += $output->writeString($this->receiverDistrictName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverDistrictCode !== null) {
			
			$xfer += $output->writeFieldBegin('receiverDistrictCode');
			$xfer += $output->writeString($this->receiverDistrictCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiverDetailAddress !== null) {
			
			$xfer += $output->writeFieldBegin('receiverDetailAddress');
			$xfer += $output->writeString($this->receiverDetailAddress);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->warehouseCode !== null) {
			
			$xfer += $output->writeFieldBegin('warehouseCode');
			$xfer += $output->writeString($this->warehouseCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->warehouseName !== null) {
			
			$xfer += $output->writeFieldBegin('warehouseName');
			$xfer += $output->writeString($this->warehouseName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->channel !== null) {
			
			$xfer += $output->writeFieldBegin('channel');
			$xfer += $output->writeByte($this->channel);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnContacter !== null) {
			
			$xfer += $output->writeFieldBegin('returnContacter');
			$xfer += $output->writeString($this->returnContacter);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnContacterTel !== null) {
			
			$xfer += $output->writeFieldBegin('returnContacterTel');
			$xfer += $output->writeString($this->returnContacterTel);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnContacterMobile !== null) {
			
			$xfer += $output->writeFieldBegin('returnContacterMobile');
			$xfer += $output->writeString($this->returnContacterMobile);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnCountry !== null) {
			
			$xfer += $output->writeFieldBegin('returnCountry');
			$xfer += $output->writeString($this->returnCountry);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnStateName !== null) {
			
			$xfer += $output->writeFieldBegin('returnStateName');
			$xfer += $output->writeString($this->returnStateName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnStateCode !== null) {
			
			$xfer += $output->writeFieldBegin('returnStateCode');
			$xfer += $output->writeString($this->returnStateCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnCityName !== null) {
			
			$xfer += $output->writeFieldBegin('returnCityName');
			$xfer += $output->writeString($this->returnCityName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnCityCode !== null) {
			
			$xfer += $output->writeFieldBegin('returnCityCode');
			$xfer += $output->writeString($this->returnCityCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnDistrictName !== null) {
			
			$xfer += $output->writeFieldBegin('returnDistrictName');
			$xfer += $output->writeString($this->returnDistrictName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnDistrictCode !== null) {
			
			$xfer += $output->writeFieldBegin('returnDistrictCode');
			$xfer += $output->writeString($this->returnDistrictCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnDetailAddress !== null) {
			
			$xfer += $output->writeFieldBegin('returnDetailAddress');
			$xfer += $output->writeString($this->returnDetailAddress);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->email !== null) {
			
			$xfer += $output->writeFieldBegin('email');
			$xfer += $output->writeString($this->email);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isNeedFaceCount !== null) {
			
			$xfer += $output->writeFieldBegin('isNeedFaceCount');
			$xfer += $output->writeByte($this->isNeedFaceCount);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->totalWeight !== null) {
			
			$xfer += $output->writeFieldBegin('totalWeight');
			$xfer += $output->writeDouble($this->totalWeight);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->totalVolume !== null) {
			
			$xfer += $output->writeFieldBegin('totalVolume');
			$xfer += $output->writeDouble($this->totalVolume);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->weight !== null) {
			
			$xfer += $output->writeFieldBegin('weight');
			$xfer += $output->writeDouble($this->weight);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->volume !== null) {
			
			$xfer += $output->writeFieldBegin('volume');
			$xfer += $output->writeDouble($this->volume);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->reservationBegindt !== null) {
			
			$xfer += $output->writeFieldBegin('reservationBegindt');
			$xfer += $output->writeI64($this->reservationBegindt);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->reservationEnddt !== null) {
			
			$xfer += $output->writeFieldBegin('reservationEnddt');
			$xfer += $output->writeI64($this->reservationEnddt);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->reservationNo !== null) {
			
			$xfer += $output->writeFieldBegin('reservationNo');
			$xfer += $output->writeString($this->reservationNo);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->reservationUser !== null) {
			
			$xfer += $output->writeFieldBegin('reservationUser');
			$xfer += $output->writeString($this->reservationUser);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isReservated !== null) {
			
			$xfer += $output->writeFieldBegin('isReservated');
			$xfer += $output->writeByte($this->isReservated);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->packingStatus !== null) {
			
			$xfer += $output->writeFieldBegin('packingStatus');
			$xfer += $output->writeI16($this->packingStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->totalQty !== null) {
			
			$xfer += $output->writeFieldBegin('totalQty');
			$xfer += $output->writeI64($this->totalQty);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->totalTagPrice !== null) {
			
			$xfer += $output->writeFieldBegin('totalTagPrice');
			$xfer += $output->writeDouble($this->totalTagPrice);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->totalPackingQty !== null) {
			
			$xfer += $output->writeFieldBegin('totalPackingQty');
			$xfer += $output->writeI32($this->totalPackingQty);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->authUser !== null) {
			
			$xfer += $output->writeFieldBegin('authUser');
			$xfer += $output->writeString($this->authUser);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->authTime !== null) {
			
			$xfer += $output->writeFieldBegin('authTime');
			$xfer += $output->writeI64($this->authTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->authContactor !== null) {
			
			$xfer += $output->writeFieldBegin('authContactor');
			$xfer += $output->writeString($this->authContactor);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->startOnRacksTime !== null) {
			
			$xfer += $output->writeFieldBegin('startOnRacksTime');
			$xfer += $output->writeString($this->startOnRacksTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->flowRemark !== null) {
			
			$xfer += $output->writeFieldBegin('flowRemark');
			$xfer += $output->writeString($this->flowRemark);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->poSource !== null) {
			
			$xfer += $output->writeFieldBegin('poSource');
			$xfer += $output->writeByte($this->poSource);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->remark !== null) {
			
			$xfer += $output->writeFieldBegin('remark');
			$xfer += $output->writeString($this->remark);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->recordVersion !== null) {
			
			$xfer += $output->writeFieldBegin('recordVersion');
			$xfer += $output->writeI64($this->recordVersion);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdByUser !== null) {
			
			$xfer += $output->writeFieldBegin('createdByUser');
			$xfer += $output->writeString($this->createdByUser);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdDtmLoc !== null) {
			
			$xfer += $output->writeFieldBegin('createdDtmLoc');
			$xfer += $output->writeI64($this->createdDtmLoc);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdOffice !== null) {
			
			$xfer += $output->writeFieldBegin('createdOffice');
			$xfer += $output->writeString($this->createdOffice);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->createdTimeZone !== null) {
			
			$xfer += $output->writeFieldBegin('createdTimeZone');
			$xfer += $output->writeString($this->createdTimeZone);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedByUser !== null) {
			
			$xfer += $output->writeFieldBegin('updatedByUser');
			$xfer += $output->writeString($this->updatedByUser);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedOffice !== null) {
			
			$xfer += $output->writeFieldBegin('updatedOffice');
			$xfer += $output->writeString($this->updatedOffice);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedDtmLoc !== null) {
			
			$xfer += $output->writeFieldBegin('updatedDtmLoc');
			$xfer += $output->writeI64($this->updatedDtmLoc);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->updatedTimeZone !== null) {
			
			$xfer += $output->writeFieldBegin('updatedTimeZone');
			$xfer += $output->writeString($this->updatedTimeZone);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isDelete !== null) {
			
			$xfer += $output->writeFieldBegin('isDelete');
			$xfer += $output->writeByte($this->isDelete);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->iqcQtyCount !== null) {
			
			$xfer += $output->writeFieldBegin('iqcQtyCount');
			$xfer += $output->writeI32($this->iqcQtyCount);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->shelvesQtyCount !== null) {
			
			$xfer += $output->writeFieldBegin('shelvesQtyCount');
			$xfer += $output->writeI32($this->shelvesQtyCount);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->warehousingTime !== null) {
			
			$xfer += $output->writeFieldBegin('warehousingTime');
			$xfer += $output->writeI64($this->warehousingTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->boxFlag !== null) {
			
			$xfer += $output->writeFieldBegin('boxFlag');
			$xfer += $output->writeByte($this->boxFlag);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isBatchStorage !== null) {
			
			$xfer += $output->writeFieldBegin('isBatchStorage');
			$xfer += $output->writeByte($this->isBatchStorage);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->operTime !== null) {
			
			$xfer += $output->writeFieldBegin('operTime');
			$xfer += $output->writeI64($this->operTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->storageStatus !== null) {
			
			$xfer += $output->writeFieldBegin('storageStatus');
			$xfer += $output->writeByte($this->storageStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isWhaleWarehouse !== null) {
			
			$xfer += $output->writeFieldBegin('isWhaleWarehouse');
			$xfer += $output->writeByte($this->isWhaleWarehouse);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->firstIqcTime !== null) {
			
			$xfer += $output->writeFieldBegin('firstIqcTime');
			$xfer += $output->writeI64($this->firstIqcTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->receiptClosedTime !== null) {
			
			$xfer += $output->writeFieldBegin('receiptClosedTime');
			$xfer += $output->writeI64($this->receiptClosedTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryTime !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryTime');
			$xfer += $output->writeI64($this->deliveryTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->expectArriveTime !== null) {
			
			$xfer += $output->writeFieldBegin('expectArriveTime');
			$xfer += $output->writeI64($this->expectArriveTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryContacter !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryContacter');
			$xfer += $output->writeString($this->deliveryContacter);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryContacterTel !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryContacterTel');
			$xfer += $output->writeString($this->deliveryContacterTel);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryContacterMobile !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryContacterMobile');
			$xfer += $output->writeString($this->deliveryContacterMobile);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryStoreCode !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryStoreCode');
			$xfer += $output->writeString($this->deliveryStoreCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryStoreName !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryStoreName');
			$xfer += $output->writeString($this->deliveryStoreName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryCountry !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryCountry');
			$xfer += $output->writeString($this->deliveryCountry);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryStateName !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryStateName');
			$xfer += $output->writeString($this->deliveryStateName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryStateCode !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryStateCode');
			$xfer += $output->writeString($this->deliveryStateCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryCityName !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryCityName');
			$xfer += $output->writeString($this->deliveryCityName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryCityCode !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryCityCode');
			$xfer += $output->writeString($this->deliveryCityCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryDistrictName !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryDistrictName');
			$xfer += $output->writeString($this->deliveryDistrictName);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryDistrictCode !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryDistrictCode');
			$xfer += $output->writeString($this->deliveryDistrictCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->deliveryDetailAddress !== null) {
			
			$xfer += $output->writeFieldBegin('deliveryDetailAddress');
			$xfer += $output->writeString($this->deliveryDetailAddress);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->goodsType !== null) {
			
			$xfer += $output->writeFieldBegin('goodsType');
			$xfer += $output->writeI32($this->goodsType);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->distributableGoodsTime !== null) {
			
			$xfer += $output->writeFieldBegin('distributableGoodsTime');
			$xfer += $output->writeI64($this->distributableGoodsTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->inventorySwitch !== null) {
			
			$xfer += $output->writeFieldBegin('inventorySwitch');
			$xfer += $output->writeString($this->inventorySwitch);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->rfidTemplateCode !== null) {
			
			$xfer += $output->writeFieldBegin('rfidTemplateCode');
			$xfer += $output->writeString($this->rfidTemplateCode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->cooperateMode !== null) {
			
			$xfer += $output->writeFieldBegin('cooperateMode');
			$xfer += $output->writeString($this->cooperateMode);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isCrossdock !== null) {
			
			$xfer += $output->writeFieldBegin('isCrossdock');
			$xfer += $output->writeString($this->isCrossdock);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->takeDeliveryDate !== null) {
			
			$xfer += $output->writeFieldBegin('takeDeliveryDate');
			$xfer += $output->writeI64($this->takeDeliveryDate);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->takeDeliveryNoticeStatus !== null) {
			
			$xfer += $output->writeFieldBegin('takeDeliveryNoticeStatus');
			$xfer += $output->writeByte($this->takeDeliveryNoticeStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->takeDeliveryNoticeTime !== null) {
			
			$xfer += $output->writeFieldBegin('takeDeliveryNoticeTime');
			$xfer += $output->writeI64($this->takeDeliveryNoticeTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->isReturn !== null) {
			
			$xfer += $output->writeFieldBegin('isReturn');
			$xfer += $output->writeByte($this->isReturn);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnNoticeStatus !== null) {
			
			$xfer += $output->writeFieldBegin('returnNoticeStatus');
			$xfer += $output->writeByte($this->returnNoticeStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->returnNoticeTime !== null) {
			
			$xfer += $output->writeFieldBegin('returnNoticeTime');
			$xfer += $output->writeI64($this->returnNoticeTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->qcNoticeStatus !== null) {
			
			$xfer += $output->writeFieldBegin('qcNoticeStatus');
			$xfer += $output->writeByte($this->qcNoticeStatus);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->qcNoticeTime !== null) {
			
			$xfer += $output->writeFieldBegin('qcNoticeTime');
			$xfer += $output->writeI64($this->qcNoticeTime);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		if($this->transactionSource !== null) {
			
			$xfer += $output->writeFieldBegin('transactionSource');
			$xfer += $output->writeString($this->transactionSource);
			
			$xfer += $output->writeFieldEnd();
		}
		
		
		$xfer += $output->writeFieldStop();
		$xfer += $output->writeStructEnd();
		return $xfer;
	}
	
}

?>